package bean;



import java.util.*;

import bean.dao.*;

public class Controlador {
	public static Controlador instancia;
		
	public static Controlador getInstance(){
		if(instancia == null)
			instancia = new Controlador();
		return instancia;
	}
	
	public void altaDeCliente(String cuil, String razonSocial, float recargo30,float recargo60, float descuentoCtdo, String condicionIVA) throws Exception {
		ClienteDAO.getInstancia().altaDeCliente(cuil, razonSocial, recargo30, recargo60, descuentoCtdo, condicionIVA);
	}
	
	public void AltaProveedor (String cuil, String razonSocial) throws Exception{
		ProveedorDAO.getInstancia().altaProveedor(cuil,razonSocial);
	}
	public void cargarListaDePrecios(String archivo) throws Exception {
		ListaDePreciosDAO.getInstancia().cargarListaDePrecios(archivo);
	}
	
	public void cargarSolicitudDeCotizacion(String archivo) throws Exception {
		SolicitudDAO.getInstancia().cargarSolicitudDeCotizacion(archivo);
	}
	
	public String generarCotizacionSolicitud(int numero, String fecha){
		//genero la cotizacion y se la paso al dao XML para que cree el archivo
		Cotizacion cotizacion = CotizacionDAO.getInstancia().generarCotizacionSolicitud(numero, fecha);
		//crea el archivo XML
		return XmlDAO.getInstancia().generarCotizacionSolicitud(cotizacion);
	}
	
	public void cargarOrdenDePedido(String archivo){
		OrdenDePedidoDAO.getInstancia().cargarOrdenDePedido(archivo);
	}
	
	public ArrayList<String> generarOrdenesDeCompra(){
		return OrdenDeCompraDAO.getInstancia().generarOrdenesDeCompra();
	}
	
	public void recibirMercaderiaProveedor(String archivo){
		RemitoDAO.getInstancia().recibirMercaderiaProveedor(archivo);
	}
	
	public List <Object[]> comparativaDePrecios(){
		return ListaDePreciosDAO.getInstancia().comparativaDePrecios();
	}
	
	public List <Object[]> comparativaDePreciosSolCot(int numSol){
		return ListaDePreciosDAO.getInstancia().comparativaDePreciosSolCot(numSol);
	}
	
	public ArrayList <String> generarRemitos(){
		return RemitoDAO.getInstancia().generarRemitos();
	}
	
	public String generarFacturaCliente(String cuil, String formaDePago){
		return FacturaDAO.getInstancia().generarFacturaCliente(cuil, formaDePago);
	}
}

